package primitives;

import javax.vecmath.Vector3d;

import essential.Ray;
import essential.RayCastResult;
import primitives.Transformable;
import shaders.Shader;


public interface Renderable extends Transformable {
	public RayCastResult intersect(Ray ray);
	public void recalcAABB();
	public AxisAlignedBoundingBox getAABB();
	public Vector3d getOrigin();
	public void setShader(Shader shader);
	public Shader getShader();
	public Renderable copy();
}
